package d10_interface_demo;

import java.util.ArrayList;

//功能解耦,你不用接口用什么,肯定用接口啊
public class Test {
    public static void main(String[] args) {
        //目标: 班级管理学生管理模块
        //1.每个学生是一个对象,所以想定义学生类,用于创建学生对象,封装学生数据
        //2.定义接口 ClassData
        //3.定义两套实现类(也就是之前的操作类),来分别处理,以便解耦合(面向接口编程,右边的对象可以随时切换)
        ArrayList<Student> students = new ArrayList<>();
        students.add(new Student("木婉清", '女', 80));
        students.add(new Student("钟灵", '女', 95));
        students.add(new Student("王语嫣", '女', 75));
        students.add(new Student("西夏公主", '女', 100));
        students.add(new Student("虚竹", '男', 100));
        students.add(new Student("乔峰", '男', 100));
        students.add(new Student("段誉", '男', 100));
        ClassData data = new ClassDataImpl2(students);//多态
        data.printAllStudentInfos();
        data.printAllStudentAverageScore();
    }
}
